﻿<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>AutoCSer 高性能 C# 互联网应用开发框架</title>
        <style type="text/css">
        a{text-decoration: none;}
        a:hover{text-decoration: underline;}
    </style>
</head>
<body>
    <div>
        <p><b class="AutoCSerClass" id="AutoCSerId" name="AutoCSerName" type="AutoCSerType">AutoCSer</b> 是一个以高效率为目标向导的互联网应用<a href="/Global.html">开发框架</a>，主要包括<a href="/TcpServer.html">高性能服务端通讯 RPC 组件</a>与 <a href="/WebView.html">WEB 数据视图模板组件</a>。</p>
        <p>
            <b>1. 开发效率</b>
            <br />. 采用自动化编码方案，结合静态代码生成技术与运行时代码生成技术 Emit，在应用层消除业务逻辑无关代码。
            <br />. <a href="/WebView.html">WEB 组件</a>架构采用前后端一体数据视图模型，目标是在高性能的基础上实现<a href="/Global.html"><b>统一规划全局数据定义</b></a>，从根本上消除服务端冗余的数据定义与逻辑。
            <br />. <a href="/WebView.html">WEB 组件</a>前端模块集成支持声明组件模式，目标是采用组件自举模式消除前端非业务代码。
        </p>
        <p>
            <b>2. 运行效率</b>
            <br />提供高性能的基础组件，主要包括以下组件：
            <br />. 支持 200W+/s <b>异步</b>调用吞吐的 <a href="/TcpServer.html">高性能服务端通讯 RPC 组件</a>
<br />. 支持 80W+/s 调用的<a href="/StreamPersistenceMemoryDatabase.html">可靠持久化内存数据库组件</a>，其中包含支持 40W+/s 消费的消息组件
<br />. <a href="/Orm.html">ORM</a> 操作支持成员绑定，在写操作事件中可以跟踪所有数据变化内容，利用该特性可将指定数据库数据镜像映射到内存自定义数据结构实现高性能读取数据操作
<br />. 对于 27 种常用数据类型组合的随机对象，<a href="/Binary.html">二进制数据序列化</a>支持单线程 200W+/s 操作、<a href="/Json.html">JSON 序列化</a> 支持单线程 100W+/s 操作

            <br />以上测试环境为 Win10 + i5 6400 + 8GB ，<b>不是在 VS 里调试运行</b>。
        </p>
        <p>基础类库支持 .NET Standard / Core 2.0 ，Web 数据视图框架支持 .NET Core 3.1</p>
        <p>Windows 支持 .NET Framework 4.5</p>
    </div>

    <div><h1>下载 Download</h1></div>
    <div> <a href="https://github.com/AutoCSer/AutoCSer2" target="_blank">GitHub</a></div>
    <div>
        <p>. <b>AutoCSer</b> 项目是核心程序集，主要包括 <a href="/TcpServer.html">RPC 组件</a> 与 <a href="/Binary.html">二进制</a> / <a href="/Json.html">JSON</a> 数据序列化组件。</p>
        <p>. <b>AutoCSer.CodeGenerator</b> 项目用于<a href="/CodeGenerator.html">静态代码生成</a>，<a href="/WebView.html">WEB 组件</a>数据视图模型、<a href="/StreamPersistenceMemoryDatabase.html">可靠持久化内存数据库组件</a> 都需要使用它生成部分代码。</p>
        <p>. <b>ExtensionTools\AutoCSer.Extensions</b> 项目包括一些非核心常用模块，比如 <a href="/Xml.html">XML 数据序列化</a>、.NET 程序集 XML 文档解析、字符串表达式解析、常用异步回调包装操作、静态变量内存监控扫描、二叉平衡树、字节匹配状态机等，大多数扩展应用组件都依赖该项目。</p>
        <p>. <b>ExtensionTools\AutoCSer.NetCoreWeb</b> 项目支持前后端一体数据视图模型的<a href="/WebView.html">WEB 组件</a>，.html 与 .js 支持 include 嵌入子文件操作，支持 JSON API 控制器的调用监控、鉴权、参数约束、日志等操作。</p>
        <p>. <b>ExtensionTools\AutoCSer.ORM</b> 项目是基于单表格操作的 ORM 组件，支持自定义业务数据类型约束，支持 Lambda 表达式查询操作，支持读写引用隔离以便于查找写操作用于排查错误，支持远程代理读取数据操作用于提升网络吞吐性能与降低数据库连接数。</p>
        <p>. <b>Application\AutoCSer.CommandService.StreamPersistenceMemoryDatabase</b> 项目是<a href="/StreamPersistenceMemoryDatabase.html">基于文件流可靠持久化的高性能内存数据库存组件</a>，支持自定义任意数据结构，支持 API 级别事务，支持异地实时备份，支持动态加载程序集修复或者新增 API 避免不必要的冷启动操作。非持久化模式则相当于缓存服务组件，该组件中集成内置有消息组件、服务注册组件、进程守护组件。</p>
        <p>. <b>Application\AutoCSer.CommandService.TimestampVerify</b> 项目是基于时间戳与 MD5 的验证组件，可以保证每一个验证数据仅能使用一次，避免验证网络数据被窃听。</p>
        <p>. <b>Application\AutoCSer.CommandService.DeployTask</b> 项目是项目发布工具组件，是服务器的必备组件。</p>
        <p>. <b>Application\AutoCSer.CommandService.DiskBlock</b> 项目是磁盘块对象储存组件，用于持久化对象的读写操作，对于热点缓存数据具有去重功能，配合使用可以降低内存数据库存组件的内存使用量以提升数据量上限。</p>
        <p>. <b>Application\AutoCSer.CommandService.ReverseLogCollection</b> 项目是反向日志收集组件，用于利用家庭带宽收集服务日志。</p>
        <p>. <b>TestCase\ExtensionTools\AutoCSer.RandomObject</b> 项目用于生成随机对象，用于生成测试数据。</p>
        <p>. <b>TestCase\ExtensionTools\AutoCSer.FieldEquals</b> 项目用于对象深度对比，用于检查测试数据的匹配状态。</p>
        <p>有问题或建议可以在 <a href="http://jq.qq.com/?_wv=1027&k=2HbDxVX" target="_blank">QQ 群 275679001</a>（旧群 4777880 暂时无法加人）或者 <a href="http://wpa.qq.com/msgrd?v=3&uin=472179624&site=qq&menu=yes" target="_blank">QQ</a> 上联系我。</p>
    </div>
    <div><b>51Nod 算法讨论平台</b></div>
<div>
    <p>
        欢迎对<b>算法与数据结构</b>感兴趣的同学<a href="http://www.51nod.com/Challenge/ProblemList.html" target="_blank">到 51Nod 去刷成就</a>。
        <br />基础薄弱的蒟蒻可以<a href="http://www.51nod.com/Tutorial/TutorialList.html" target="_blank">学习算法入门教程</a>，也可以<a href="http://www.51nod.com/Live/LiveList.html" target="_blank">围观大佬直播讲题</a>。
        <br />您也可以与 OI 世界冠军和其他顶尖选手<a href="http://www.51nod.com/Contest/ContestList.html" target="_blank">同台竞技</a>，赢得奖金与众人 Orz
        <br />如果您有什么问题可以加入 <a href="http://shang.qq.com/wpa/qunwpa?idkey=48083172ccfbf74b0462ae37d8ff88c39198f5b19846ece22b7cd620806cc75d" title="51Nod 算法讨论QQ群">51Nod 官方群</a> Orz 各位大佬。
    </p>
</div>
    <div>
        <center><a href="http://beian.miit.gov.cn/" target="_blank">湘ICP备17011343号-1</a></center>
    </div>
    <div style="width:300px;margin:0 auto; padding:20px 0;">
        <a target="_blank" href="http://www.beian.gov.cn/portal/registerSystemInfo?recordcode=43092102000124" style="display:inline-block;text-decoration:none;height:20px;line-height:20px;"><img SRC="//f.autocser.com/Beian.png" alt="备案图标" style="float:left;" /><p style="float:left;height:20px;line-height:20px;margin: 0px 0px 0px 5px; color:#939393;">湘公网安备 43092102000124号</p></a>
    </div>
    <script language="javascript" type="text/javascript">
var _hmt = _hmt || [];
(function() {
  var hm = document.createElement("script");
  hm.src = "https://hm.baidu.com/hm.js?dbf5c7b4884f5ce1150a825c5d55bdc9";
  var s = document.getElementsByTagName("script")[0];
  s.parentNode.insertBefore(hm, s);
})();
</script>
</body>
</html>